// 动态加载侧边栏
document.addEventListener('DOMContentLoaded', function() {
    // 加载侧边栏模板
    loadSidebar();
    
    // 加载完成后初始化侧边栏功能
    function initSidebar() {
        // 设置当前页面的活动状态
        setActivePage();
        
        // 加载侧边栏折叠功能
        const sidebarScript = document.createElement('script');
        sidebarScript.src = 'js/sidebar.js';
        document.body.appendChild(sidebarScript);
    }
    
    // 加载侧边栏模板
    function loadSidebar() {
        fetch('templates/sidebar.html')
            .then(response => {
                if (!response.ok) {
                    throw new Error('无法加载侧边栏模板');
                }
                return response.text();
            })
            .then(html => {
                // 将侧边栏HTML插入到页面中
                const sidebarContainer = document.getElementById('sidebar-container');
                if (sidebarContainer) {
                    sidebarContainer.innerHTML = html;
                    initSidebar();
                } else {
                    console.error('未找到侧边栏容器元素');
                }
            })
            .catch(error => {
                console.error('加载侧边栏时出错:', error);
                
                // 如果无法加载模板，则使用内联侧边栏
                const sidebarContainer = document.getElementById('sidebar-container');
                if (sidebarContainer && sidebarContainer.dataset.fallback === 'true') {
                    initSidebar();
                }
            });
    }
    
    // 设置当前页面的活动状态
    function setActivePage() {
        // 获取当前页面的文件名
        const currentPath = window.location.pathname;
        const currentPage = currentPath.substring(currentPath.lastIndexOf('/') + 1);
        
        // 查找对应的导航项并设置为活动状态
        const navItems = document.querySelectorAll('.nav-item');
        navItems.forEach(item => {
            const href = item.getAttribute('href');
            if (href === currentPage || 
                (currentPage === '' && href === 'index.html') ||
                (currentPage === '/' && href === 'index.html')) {
                item.classList.add('active');
            } else {
                item.classList.remove('active');
            }
        });
    }
}); 